home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
526-550
/
disk_540
/
browser
/
browserii_src.lzh
/
Config.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-06-19
|
2KB
|
71 lines
/*
* Config.c - Copyright © 1991 by S.R. & P.C.
*
* Created: 21 Feb 1991 18:18:36
* Modified: 19 Jun 1991 18:18:13
*
* Make>> make
*/
#include "Global.h"
#include "proto/Config.h"
extern struct BrowserWindow *CurrentWin;
extern struct Config Config;
extern struct ParMConfig ParMConfig;
extern char *ReqTitle;
void LoadConfig(void)
{
struct Config TmpCfg;
BPTR fh;
short bytes = 0;
if (fh = Open(CONFIG_FILE, MODE_OLDFILE)) {
bytes = Read(fh, (char *)&TmpCfg, sizeof(struct Config));
Close(fh);
if (bytes < sizeof(struct Config) || strcmp(TmpCfg.IdentString, BROWSER_IDENT_STRING)) {
SimpleRequest(ReqTitle, CONFIG_FILE_ERROR_MSG, CONFIG_FILE);
bytes = 0;
}
else {
Config = TmpCfg;
ParMConfig.SimpleCmdMode = Config.CmdMode;
}
}
if (bytes == 0) { /* Set default flags */
Config.CmdMode = ParMConfig.SimpleCmdMode = TRUE;
Config.RunMode = RM_SHELL|RM_REQUEST;
Config.Sort = NAME_SORT|TYPE_SORT;
Config.CopyMode = CM_CONTEXT|CM_ASK_OVERWRITE|CM_COPY_HIERARCHY|CM_COPY_EMPTYDIRS;
Config.CopyFlags = CF_CLONE;
Config.Display = DLF_DIRS|DLF_VOLUMES;
Config.Options = OPT_TOGGLESELECT|OPT_MOVEINTOSUB|OPT_ASKBEFOREMOVE|OPT_ASYNCHRONOUS;
Config.Select.si_Flags = SI_MATCH_FILES|SI_MATCH_DIRS;
Config.DefaultFilters.si_Flags = SI_ALL_FILES|SI_ALL_DIRS;
}
}
void SaveConfig(void)
{
BPTR fh;
strcpy(Config.IdentString, BROWSER_IDENT_STRING);
Config.EntryInfoFlags = CurrentWin->bw_EntryInfoFlags;
Config.Sort = CurrentWin->bw_Sort;
Config.DefaultFilters = CurrentWin->bw_FiltersInfo;
Config.DefaultFilters.si_Flags &= ~SI_INVERT;
if (fh = Open(CONFIG_FILE, MODE_NEWFILE)) {
Write(fh, (char *)&Config, sizeof(struct Config));
Close(fh);
}
else
SimpleRequest(ReqTitle, "Couldn't save configuration!");
}